arp-scan
hat das Zielsystem mit der IP-Adresse 192.168.2.123 und der MAC-Adresse 08:00:27:f8:cc:57 gefunden. Der Hersteller der Netzwerkkarte ist PCS Systemtechnik GmbH, was auf eine virtuelle Maschine hindeutet (Oracle VirtualBox).
Als nächstes verwenden wir nmap
, um offene Ports, Dienste und Betriebssysteminformationen auf dem Zielsystem zu identifizieren. Wir führen einen umfassenden Scan mit aktivierter Serviceerkennung, OS-Erkennung und Skriptausführung durch.
nmap
hat die Ports 22 (SSH) und 80 (HTTP) als offen identifiziert. Dies deutet darauf hin, dass ein SSH-Server und ein Webserver auf dem Zielsystem laufen.
Der vollständige nmap
-Scan liefert detailliertere Informationen:
Wir verwenden nikto
, um den Webserver auf bekannte Schwachstellen und Konfigurationsfehler zu überprüfen.
nikto
hat mehrere potenzielle Schwachstellen und Konfigurationsfehler gefunden:
/images
-Verzeichnisses.index.php
./images
-Verzeichnis aktiviert.Wir verwenden gobuster
, um weitere Dateien und Verzeichnisse auf dem Webserver zu entdecken.
gobuster
hat mehrere PHP-Dateien und das images
-Verzeichnis gefunden. Besonders interessant ist die file.php
, die in Kombination mit der von nikto
gefundenen LFI-Schwachstelle ausgenutzt werden könnte. Die connect.php
gibt einen 500-Fehler zurück, was auf einen Konfigurationsfehler hindeutet.
Wir nutzen die von nikto
identifizierte LFI-Schwachstelle, um die Datei /etc/passwd
auszulesen und die vorhandenen Benutzer zu identifizieren.
Durch die LFI-Schwachstelle konnten wir die Benutzer root
, andrew
und nick
identifizieren. Diese Information ist nützlich für spätere Angriffe.
Im Folgenden demonstrieren wir, wie die identifizierte LFI-Schwachstelle in index.php
in Kombination mit der file.php
ausgenutzt werden kann, um beliebige Dateien auf dem Zielsystem auszulesen und schließlich Code auszuführen.
Wir versuchen, die Datei style.css
über die LFI-Schwachstelle und den file
Parameter auszulesen.
The requested URL was not found on this server.
Das Auslesen der style.css
Datei schlägt fehl und wir erhalten eine 404 Not Found Meldung
Um die LFI-Schwachstelle auszunutzen und Befehle auszuführen, verwenden wir einen PHP-Filter-Chain-Generator, um einen Payload zu erstellen, der den Parameter cmd
aus der GET-Anfrage ausliest und ausführt.
Die Ausgabe ist sehr lang, da sie den kompletten Payload enthält, der für die Ausführung des Befehls id
erforderlich ist.
Die Ausführung des Befehls ls
über die LFI-Schwachstelle liefert eine Liste der Dateien im Webverzeichnis. Dies bestätigt, dass die Schwachstelle erfolgreich ausgenutzt werden kann.
Nachdem wir uns versichert haben das die LFI Funktioniert und wir Befehle ausführen können versuchen wir jetzt eine Reverse Shell zu bekommen.
Wir verwenden wieder den PHP-Filter um ein Reverse Shell zu starten.
Die Reverse Shell als www-data wurde erfolgreich gestartet.
Wir listen das /etc/passwd
aus, um die User zu bestätigen.
Wir suchen nach Dateien mit Capabilities und finden das php8.1 das Cap_setuid hat.
Wir haben erfolgreich unsere Privilegien erhöht und sind nun Root.
Root-Flag: HMV{This-was-a-Quick-AND-fast-machine}
User-Flag: HMV{Its-gonna-be-a-fast-ride}
Wir beginnen mit der Netzwerk-Reconnaissance, um das Zielsystem im lokalen Netzwerk zu identifizieren. Hier verwenden wir
arp-scan
, um die IP-Adresse und MAC-Adresse des Ziels zu ermitteln.